Agents or nodes that participate in performance of a task, whether the agents or nodes are autonomous devices or human-controlled devices relying on automated control systems, may seek to dynamically coordinate their movements and positions to aid in the collective performance of the task. There are myriad examples of systems in which agents manually coordinate their movements to act in harmony with a group of similarly-situated agents. To take just one example, in landing at commercial airports, pilots rely on instructions from air traffic control to provide a course that allows the aircraft to land while providing a reasonable safety margin between the aircraft and other aircraft in the same airspace.
The coordination task of landing the aircraft is complex. In coordinating the approach and landing of aircraft, what constitutes a reasonable safety margin may depend on the types of aircraft in the airspace and how the aerodynamics of each type of aircraft affects nearby aircraft. Changing atmospheric and visibility conditions affect what constitutes a safe margin between aircraft. Variance in numbers of aircraft entering the airspace and the approach vectors the aircraft use to enter the airspace constantly changes the conditions. As soon as a plan has been established for coordinating the approach landing of the aircraft, additional aircraft may enter the airspace and the added aircraft may change the prior plan. Furthermore, unexpected events may occur, such as a runway being closed, that would involve altering the original plan. Notwithstanding the coordination problems to be resolved, operators of all aircraft in the airspace desire landing as soon as possible to save fuel and to meet schedules so that cargo can be routed on time and so that passengers can make connections.
With coordinating the approach and landing of aircraft as just one example of the difficulty in coordinating complex group operations, it would be desirable to automate processes to coordinate movement of vehicles and analogous coordinated deployments. Furthermore, it would be desirable to identify a robust system for dynamically coordinating deployments and movements of a plurality of nodes in a manner that is reliable, adaptable, and capable of being distributed.
Another example of systems in which agents coordinate their movements to act in harmony with a group of similarly-situated agents is when the agents are nodes in a communication system. The nodes may be senders and receivers of transmissions or the nodes may be intermediate nodes that relay communications from one node to another. To service communications needs of the nodes in the network, it may be desirable to reposition the nodes to expand or otherwise change the coverage area. For example, if there is relatively high network demand between a particular group of nodes, it may be desirable to reposition the nodes to enable more direct communication between the group of nodes, such as by enabling direct point-to-point communications between the nodes or to enable communication between particular nodes with fewer intermediate nodes. In addition to repositioning the nodes, it may be desirable to establish or change links between nodes to service network demand.